Micron Document
Aleph Git

Node / reticulum / sideband / files / docs / example_plugins / lxmd_telemetry.py

Displaying Raw • Download

docs/example_plugins/lxmd_telemetry.py HEAD (8b8a5035) Text, 1.40 KB

T8b949e# This is an LXMd telemetry plugin that
T8b949e# queries a running LXMF Propagation Node
T8b949e# for status and statistics.

Tff7b72import T7ee787RNS

Tff7b72class T56d364LXMdTelemetryPluginTb4b4b4(Te6edf3SidebandTelemetryPluginTb4b4b4)Tb4b4b4:
Te6edf3plugin_name Tff7b72= Ta5d6ff"Ta5d6fflxmd_telemetryTa5d6ff"

Tff7b72def Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
T8b949e# Do any initialisation work here
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6ff"Ta5d6ffLXMd telemetry plugin starting...Ta5d6ff"Tb4b4b4)

T8b949e# And finally call start on superclass
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffstopTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
T8b949e# Do any teardown work here
Tff7b72pass

T8b949e# And finally call stop on superclass
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffstopTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffupdate_telemetryTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3telemeterTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3telemeter Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72not Ta5d6ff"Ta5d6fflxmf_propagationTa5d6ff" Tff7b72in Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4:
T8b949e# Create lxmd status sensor if it is not already
T8b949e# enabled in the running telemeter instance
Te6edf3telemeterTff7b72.Td2a8ffenableTb4b4b4(Ta5d6ff"Ta5d6fflxmf_propagationTa5d6ff"Tb4b4b4)

T8b949e# Set the identity file used to communicate with
T8b949e# the running LXMd instance.
Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4[Ta5d6ff"Ta5d6fflxmf_propagationTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffset_identityTb4b4b4(Ta5d6ff"Ta5d6ff~/.lxmd/identityTa5d6ff"Tb4b4b4)

T8b949e# You can also get LXMF Propagation Node stats
T8b949e# from an LXMd instance running inside nomadnet
T8b949e# telemeter.sensors["lxmf_propagation"].set_identity("~/.nomadnetwork/storage/identity")

T8b949e# Finally, tell Sideband what class in this
T8b949e# file is the actual plugin class.
Te6edf3plugin_class Tff7b72= Te6edf3LXMdTelemetryPlugin

Served by rngit 1.4.2 - Generated in 0.04s